package com.cqc.jdk8.Jlang.object;

/**
 * @author cui
 * @date 2025/6/26 22:18
 * @description
 **/
public class IllegalMonitorStateExceptionTest {
    /**
     * Object wait() notify() notifyAll() 这3个方法必须放在同步代码块中，
     * 调用 wait()/notify() 的对象必须与 synchronized 使用的是同一个对象
     * 否则报错 java.lang.IllegalMonitorStateException
     */
    public static void main(String[] args) throws InterruptedException {
        //情形一
        //Object lock = new Object();
        //lock.wait();
        //情形二
        synchronized (IllegalMonitorStateExceptionTest.class){
            Object lock = new Object();
            lock.wait();
        }
    }
}
